<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="js/vue.js"></script>
    <script>
        // 描述vue项目运行中不能作为组件解析的 自定义标签
         Vue.config.ignoredElements = [
            "icon-font",
            /^e-/
         ]
    </script>
</head>

<body>
    <icon-font>自定义的非vue的字体库文件</icon-font>
    <div id="app">
        <h1>new Vue组件</h1>
        <hr>
        <comp-a></comp-a>
        <hr>
        <comp-b></comp-b>
        <hr>
        <!-- <comp-c></comp-c> -->
        <icon-font>自定义的非vue的字体库文件</icon-font>
        <e-icon></e-icon>
        <e-btn></e-btn>

    </div>
</body>
<script>

    Vue.component("CompA",{
        template:"CompA全局组件"
    });

    new Vue({
        el: '#app',
        components: {
            // 定义局部组件
            // key 等同 全局组件定义时的 id => ，描述局部组件名称和页面标签名称
            // value 等同 全局组件定义时 definition => 描述局部组件的构成配置
            CompA: Vue.extend({
                template: "<h1>组件{{ name }}</h1>",
                data() {
                    return {
                        name: "A"
                    }
                }
            }),
            "comp-b": {
                template: "<div><h1>组件{{ name }}</h1><hr><comp-c></comp-c></div>",
                data() {
                    return {
                        name: "B"
                    }
                },
                components: {
                    CompC: {
                        template: "<h1>组件{{ name }}</h1>",
                        data() {
                            return {
                                name: "C"
                            }
                        },
                    }
                }
            }
        }
    });
</script>

</html>